package com.vcc.core.derive.admin;

import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.converters.longconverter.LongStringConverter;
import com.vcc.core.derive.converter.DateConverter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeriveUser implements Serializable {

    @ExcelProperty(value = "id", index = 0, converter = LongStringConverter.class)
    private Long id;

    @ExcelProperty("用户名")
    private String username;

    @ExcelProperty("邮箱")
    private String email;

    @ExcelProperty(value = "注册时间", converter = DateConverter.class)
    private Date registerDate;

    @ExcelProperty(value = "主用户Id", converter = LongStringConverter.class)
    private Long parentId;

    @ExcelProperty("主用户账号")
    private String parentAccount;

    @ExcelProperty("状态")
    private Integer status;

    @ExcelProperty("备注")
    private String remark;

    @ExcelProperty(value = "代理Id", converter = LongStringConverter.class)
    private Long dealerId;

    @ExcelProperty("代理账号")
    private String dealerAccount;

    @ExcelProperty("角色名称")
    private String roleName;

    @ExcelProperty("认证类型")
    private String certType;

    @ExcelProperty("认证状态")
    private Integer certStatus;

    @ExcelProperty(value = "认证时间", converter = DateConverter.class)
    private Date certSubmitDate;

    @ExcelProperty("充值点数（单位：%）")
    private BigDecimal rechargeRate;

    @ExcelProperty("提现点数（单位：%）")
    private BigDecimal withdrawRate;

    @ExcelProperty("账户余额（单位:USD）")
    private BigDecimal balance;

    @ExcelProperty("邀请注册用户数")
    private Long registerCount;

    @ExcelProperty("开卡数")
    private Long openCardCount;

    @ExcelProperty("注册来源")
    private String registerAccount;

}
